\documentclass[UTF8,oneside,A4paper]{ctexbook}
\usepackage[hmargin=1.25in,vmargin=1in]{geometry}
\usepackage{graphicx}    % 插图
\graphicspath{{../docs/figures/}}
\usepackage{pdfpages}   % 首页大图
% 简单的 代码高亮
\usepackage{listings}
\usepackage{xcolor}
\lstset{
    basicstyle=\ttfamily\small, % 小字号
    columns=fixed,       
    numbers=left, % 在左侧显示行号
    frame=none, % 不显示背景边框
    backgroundcolor=\color[RGB]{245,245,244},  % 设定背景颜色
    keywordstyle=\color[RGB]{40,40,255}\bfseries, % 设定关键字颜色
    numberstyle=\footnotesize\color{darkgray}, % 设定行号格式
    commentstyle=\color[RGB]{0,96,96}, % 设置代码注释的格式
    stringstyle=\slshape\color[RGB]{128,0,0}, % 设置字符串格式
    showstringspaces=false, % 不显示字符串中的空格
}
\usepackage{pgfplots}   % 插图绘制绘图
\usepackage{tikz}
\usepackage{caption}    % 自定义标题
\usepackage{amsmath}    % 数学公式
\usepackage{hyperref}   % URL

%\hypersetup{CJKbookmarks=true}

% \usepackage{makeidx}
% \makeindex
% \bibliographystyle{...}


%% 文档开始 ===================================================
\begin{document}

%% 首页
% \includepdf[fitpaper=true]{img/cover}

%% 新开一页
\frontmatter
\title{《软件设计的哲学》中文版}
\author{ John Ousterhout }
\date{\today}
\maketitle % 标题页
% 简介
这本书是关于软件设计的：如何将复杂的软件系统分解成模块（如类和方法），以便这些模块可以相对独立地实现。首先，这本书介绍了软件设计的基本问题，也就是对复杂性的管理。然后，它讨论了关于如何处理软件设计过程的一些哲学问题，并提出了一系列可以在软件设计过程中应用的设计原则。本书还介绍了一些可用来识别设计问题的危险信号。您可以通过应用本书中的想法来减少大型软件系统的复杂性，以便您可以更快地编写软件。


% 前言
\input{chaps/preface.tex}
% 目录
\tableofcontents
\mainmatter

%% 正文部分 ---------------------
%% 1~21 章
\input{chaps/ch01.tex}
\input{chaps/ch02.tex}
\input{chaps/ch03.tex}
\input{chaps/ch04.tex}
\input{chaps/ch05.tex}
\input{chaps/ch06.tex}
\input{chaps/ch07.tex}
\input{chaps/ch08.tex}
\input{chaps/ch09.tex}
\input{chaps/ch10.tex}
\input{chaps/ch11.tex}
\input{chaps/ch12.tex}
\input{chaps/ch13.tex}
\input{chaps/ch14.tex}
\input{chaps/ch15.tex}
\input{chaps/ch16.tex}
\input{chaps/ch17.tex}
\input{chaps/ch18.tex}
\input{chaps/ch19.tex}
\input{chaps/ch20.tex}
\input{chaps/ch21.tex}
%% 总结
\input{chaps/summary.tex}
%% 正文部分结束 -------------------

%% 后记
% \backmatter
% \bibliography{...} % 参考文献
% \printindex

\end{document} %% 文档结束 ====================================